// These are meant to be typed into the REPL. You can also run
// scala -Xnojline < repl-session.scala to run them all at once.
/**
  * 4.11 将函数映射到集合
  * 将一元函数应用于集合中的每一个元素。
  * map 应用于集合中的每一个元素，并产生转换后的一个新元素。
  *
  * flatmap 同样应用于集合的每一个元素，对于每一个元素产出一个集合，
  * 并将集合中的元素串接在一起。
  */
val names = List("Peter", "Paul", "Mary")

// map 映射
names.map(_.toUpperCase) // List("PETER", "PAUL", "MARY")

for (n <- names) yield n.toUpperCase

def ulcase(s: String) = Vector(s.toUpperCase(), s.toLowerCase())

names.map(ulcase)

// flatmap映射
names.flatMap(ulcase)

names.foreach(println)


